package eseo.be.fournisseur;

public class FournisseurProxy implements eseo.be.fournisseur.Fournisseur {
  private String _endpoint = null;
  private eseo.be.fournisseur.Fournisseur fournisseur = null;
  
  public FournisseurProxy() {
    _initFournisseurProxy();
  }
  
  public FournisseurProxy(String endpoint) {
    _endpoint = endpoint;
    _initFournisseurProxy();
  }
  
  private void _initFournisseurProxy() {
    try {
      fournisseur = (new eseo.be.fournisseur.FournisseurServiceLocator()).getFournisseur();
      if (fournisseur != null) {
        if (_endpoint != null)
          ((javax.xml.rpc.Stub)fournisseur)._setProperty("javax.xml.rpc.service.endpoint.address", _endpoint);
        else
          _endpoint = (String)((javax.xml.rpc.Stub)fournisseur)._getProperty("javax.xml.rpc.service.endpoint.address");
      }
      
    }
    catch (javax.xml.rpc.ServiceException serviceException) {}
  }
  
  public String getEndpoint() {
    return _endpoint;
  }
  
  public void setEndpoint(String endpoint) {
    _endpoint = endpoint;
    if (fournisseur != null)
      ((javax.xml.rpc.Stub)fournisseur)._setProperty("javax.xml.rpc.service.endpoint.address", _endpoint);
    
  }
  
  public eseo.be.fournisseur.Fournisseur getFournisseur() {
    if (fournisseur == null)
      _initFournisseurProxy();
    return fournisseur;
  }
  
  public eseo.be.fournisseur.Article[] trouverArticle(eseo.be.fournisseur.Article unArticle) throws java.rmi.RemoteException{
    if (fournisseur == null)
      _initFournisseurProxy();
    return fournisseur.trouverArticle(unArticle);
  }
  
  public eseo.be.fournisseur.Reservation reserverArticle(eseo.be.fournisseur.Reservation uneReservation) throws java.rmi.RemoteException{
    if (fournisseur == null)
      _initFournisseurProxy();
    return fournisseur.reserverArticle(uneReservation);
  }
  
  public boolean annulerArticle(eseo.be.fournisseur.Reservation uneReservation) throws java.rmi.RemoteException{
    if (fournisseur == null)
      _initFournisseurProxy();
    return fournisseur.annulerArticle(uneReservation);
  }
  
  
}